const EventEmitter = require("events");
const emitter = new EventEmitter();

//on  监听事件
emitter.on("messageLogged", (arg) => {
  console.log(arg, "事件");
});

emitter.emit("messageLogged", { id: 1, url: "http://" });

// 结构事件  类似于removeListener
// emitter.off;
emitter.emit("messageLogged", { id: 1, url: "http://" });

//once事件监听器只执行一次
emitter.once("onceFn", function () {
  console.log("once");
});

emitter.emit("onceFn");
emitter.emit("onceFn");

const zks = function () {
  console.log("event1");
};
emitter.on("事件1", zks);
emitter.on("事件1", zks);
emitter.on("事件2", function (...args) {});
emitter.on("事件3", function (...args) {
  console.log(this, args);
});

emitter.emit("事件1");
// emitter.off("事件1", zks);
// emitter.emit("事件3");
